#ifndef PERSON_H
#define PERSON_H
#include <QString>
//class QString;

class Person
{
public:
    Person() {}
    Person(const Person &org)
    {
        m_personID = org.m_personID;
        m_personName = org.m_personName;
        m_personGender = org.m_personGender;
        m_personBirthday = org.m_personBirthday;
        m_personTel = org.m_personTel;
        m_personAdress = org.m_personAdress;
        m_personAge = org.m_personAge;
        m_personEmail = org.m_personEmail;
    }
    Person & operator =(const Person &other)
    {
        if (this == &other)
            return *this;
        m_personID = other.m_personID;
        m_personName = other.m_personName;
        m_personGender = other.m_personGender;
        m_personBirthday = other.m_personBirthday;
        m_personTel = other.m_personTel;
        m_personAdress = other.m_personAdress;
        m_personAge = other.m_personAge;
        m_personEmail = other.m_personEmail;
        return *this;
    }
    //供货商信息
    Person(const QString& supplierNumber, const QString contactName,
                   const QString tel, const QString email, const QString address)
    {
        m_personID = supplierNumber;
        m_personName = contactName;
        m_personTel = tel;
        m_personEmail = email;
        m_personAdress = address;
    }
    //会员信息
    Person(const QString membercardID, const QString memberName, const QString gender,
           const QString tel, const QString email, const QString address)
    {
        m_personID = membercardID;
        m_personName = memberName;
        m_personGender = gender;
        m_personTel = tel;
        m_personEmail = email;
        m_personAdress = address;
    }

    //员工信息
    Person(const QString staffID, const QString staffName, const QString staffGender,
           const QString staffBirthday, const QString staffAge, const QString staffTel,
           const QString staffAdress)
    {
        m_personID = staffID;
        m_personName = staffName;
        m_personGender = staffGender;
        m_personBirthday = staffBirthday;
        m_personAge = staffAge;
        m_personTel = staffTel;
        m_personAdress = staffAdress;
    }

    Person(const QString membercardID, const QString memberName)
    {
        m_personID = membercardID;
        m_personName = memberName;
    }

    Person(const QString membercardID, const QString memberName, const QString gender)
    {
        m_personID = membercardID;
        m_personName = memberName;
        m_personGender = gender;
    }

    QString get_personID() const {return m_personID;}
    QString get_personName() const {return m_personName;}
    QString get_personGender() const {return m_personGender;}
    QString get_personBirthday() const {return m_personBirthday;}
    QString get_personTel() const {return m_personTel;}
    QString get_personAdress() const {return m_personAdress;}
    QString get_personAge() const {return m_personAge;}
    QString get_personEmail() const {return m_personEmail;}

    void set_personID(QString personID)  {m_personID = personID;}
    void set_personName(QString personName)  {m_personName = personName;}
    void set_personGender(QString personGender)  {m_personGender = personGender;}
    void set_personBirthday(QString personBirthday)  {m_personBirthday = personBirthday;}
    void set_personTel(QString personTel)  {m_personTel = personTel;}
    void set_personAdress(QString personAdress) {m_personAdress = personAdress;}
    void set_personAge(QString personAge) {m_personAge = personAge;}
    void set_personEmail(QString personEmail)  {m_personEmail =  personEmail;}

private:
    QString m_personID;
    QString m_personName;
    QString m_personGender;
    QString m_personBirthday;
    QString m_personTel;
    QString m_personAdress;
    QString m_personAge;
    QString m_personEmail;
};

#endif // PERSON_H
